package com.extweb4j.web.controller;

import org.apache.commons.lang3.ArrayUtils;

import com.extweb4j.core.anno.AuthAnno;
import com.extweb4j.core.anno.Log;
import com.extweb4j.core.controller.ExtController;
import com.extweb4j.core.kit.SMSKit;
import com.jfinal.plugin.activerecord.Record;

/**
 * 消息模版控制器
 * @author Administrator
 *
 */
public class TemplateController extends ExtController{
	public static String SUCCESS = "SUCCESS";
	
	@AuthAnno
	public void list(){
		renderJson(SMSKit.getTemplateInfo("ALL"));
	}
	
	/**
	 * 新增消息模版
	 */
	@AuthAnno
	@Log("新增模版消息")
	public void add(){
		String content = getPara("tpl_content");
		String result = SMSKit.addTemplate(content);
		getReturn(result);
	}
	/**
	 * 编辑消息模版
	 */
	@AuthAnno
	@Log("编辑模版消息")
	public void edit(){
		String content = getPara("tpl_content");
		String tpl_id = getPara("tpl_id");
		String result = SMSKit.editTemplate(tpl_id, content);
		getReturn(result);
	}
	/**
	 * 删除消息模版
	 */
	@AuthAnno
	@Log("删除模版消息")
	public void del(){
		String tpl_id = getPara("tpl_id");
		String result = SMSKit.delTemplate(tpl_id);
		getReturn(result);
	}
	/**
	 * 批量删除模版消息
	 */
	@AuthAnno
	@Log("批量删除消息模版")
	public void deleteBtach(){
		String[] ids= getParaValues("ids");
		if(ArrayUtils.isEmpty(ids)){
			throw new RuntimeException("请选择要删除的数据");
		}
		for(String id : ids){
			SMSKit.delTemplate(id);
		}
		success(ids.length+"条记录已删除");
	}
	/**
	 * 统一处理返回值
	 * @param result
	 */
	public void getReturn(String result){
		if(result.equals(SUCCESS)){
			success();
		}else{
			error(result);
		}
	}
	/**
	 * 获取审核通过的消息模版
	 */
	public void json(){
		renderJson(SMSKit.getTemplateInfo("SUCCESS"));
	}
	/**
	 * 根据id获取模版
	 */
	public void get(){
		String tpl_id = getPara("tpl_id");
		renderJson(new Record().set("success",true).set("data",SMSKit.getTplById(tpl_id)));
	}
}
